Modern electronics exchange vast amounts of information using various communications protocols and techniques. Bit streams are one such technique used for transferring data serially from a transmitter to a receiver in many different applications. For instance, wired networks such as 802.3, commonly referred to as Ethernet, utilize serial data transfer techniques to exchange packetized information. Cable companies use similar techniques to transmit video and audio data to their customers. Furthermore, wireless communications protocols, such as 802.11, commonly referred to as Wi-Fi, operate similarly but use radio waves to transmit data instead of using wires. Likewise, cellular devices use various encoding schemes to transmit serial data over the air to cellular devices from cellular towers and antennas. Furthermore, within many consumer devices, bit streams are used to serially transfer data. For example, many storage devices use the Serial Advanced Technology Attachment (SATA) protocol to exchange information, and many peripheral devices use the Universal Serial Bus (USB) to interface with everything from pointing devices to drives.
Scrambling of data serves two purposes. First, scrambling operates at the cyclic code word boundary for establishing block synchronization. Second, scrambling is used to ensure that an appropriate DC balance is maintained. Scramble techniques include additive scrambling and multiplicative scrambling, both of which can be mathematically represented by polynomials and are generally implemented using linear feedback shift registers (LFSRs). However, scrambling data necessitates additional computations in order to descramble the data.
Present descrambling techniques operate using brute force methods. Specifically, each individual bit stream window is independently analyzed to determine if it is a proper bit stream boundary. However, independently evaluating each and every window of the bit stream is inefficient computationally intensive. Therefore, there is a need for an improved approach to descrambling bit stream data.